﻿using AutoMapper;
using Modules;
using Modules.Project;
using PmSoft;
using System.ComponentModel.DataAnnotations;

namespace ManagementApi.Models.Project;

/// <summary>
/// 保证金退还编辑表单
/// </summary>
public class ProjectGuaranteeRefundEditForm
{
    /// <summary>
    ///
    ///</summary>
    public int? Id { get; set; }

    /// <summary>
    /// 需要退还保证金的缴纳信息Id
    ///</summary>
    [Display(Name = "需要退还保证金的缴纳信息Id")]
    public int GuaranteePaymentId { get; set; }

    /// <summary>
    /// 缴纳主体名称
    /// </summary>
    [Display(Name = "缴纳主体名称")]
    public string? PaymentName { get; set; }

    /// <summary>
    /// 缴纳主体社会统一信用代码
    /// </summary>
    [Display(Name = "缴纳主体社会统一信用代码")]
    public string? PaymentCode { get; set; }

    /// <summary>
    /// 申请退还金额
    ///</summary>
    public decimal? ApplyAmount { get; set; }

    /// <summary>
    /// 申请理由
    ///</summary>
    public string? ApplyReason { get; set; }
}

/// <summary>
/// 保证金缴纳信息退还审核
/// </summary>
public class ProjectGuaranteeRefundAuditForm
{
    /// <summary>
    ///
    ///</summary>
    public int Id { get; set; }

    /// <summary>
    /// 退还决定单位
    ///</summary>
    public string? RefundOrganization { get; set; }

    /// <summary>
    /// 退还决定单位统一社会信用代码
    ///</summary>
    public string? RefundOrganizationCode { get; set; }

    /// <summary>
    /// 动用通知文书号
    ///</summary>
    public string? NotificationLetter { get; set; }

    /// <summary>
    /// 退还日期
    ///</summary>
    public DateTime? RefundTime { get; set; }

    /// <summary>
    /// 退还金额
    ///</summary>
    public decimal? RefundAmount { get; set; }

    /// <summary>
    /// 退还说明
    ///</summary>
    public string? RefundReason { get; set; }
}